
const router = require('koa-router')()

const { find, 
        findById,
        addUser,
        updateById,
        deleteById
      } = require('../controllers/user')

router.prefix('/api/user')

// HTTP请求方式
/**
 * @param {RESTful api}
 * 1. 一个url地址 根据不同的请求方式，实现增删改查
 * 2. 动态路由获取参数
 * 
 * 在RESTful架构模式中，定义了返回的格式：
 * 1. get 返回查询数据
 * 2. post 返回 新增的数据
 * 3. put 返回修改的数据
 * 4. delete 返回204状态码（no content）
 */

// router.get('/get-test', async (ctx, next) => {
//   // console.log(ctx.query)
//   // console.log(ctx.header, 'header')
//   // // ctx.body = ctx.query; // 获取querystring
//   // ctx.throw(401)
// }) 

// 查询所有的数据
router.get('/', find)
// 查询某一个数据
router.get('/:id', findById)

router.post('/', addUser)

router.put('/:id', updateById)

router.delete('/:id', deleteById)

// 自定义路由中间件实现路由功能
// app.use(async (ctx, next) => {
//   if (ctx.url === '/api/list') {
//     ctx.body = '我是list路由'
//     return;
//   } else if (ctx.url === '/api/user') {
//     ctx.body = '我是user路由' 
//     return;
//   }
//   // 抛出异常
//   ctx.throw(404)
// })



module.exports = router;